This invention relates generally to computer implemented finite state machines which are suited for process control applications. This invention is more specifically directed to an implementation of a finite state machine in which the sequence of execution of steps can be controlled by a user for each state of the machine.
As used herein, a finite state machine refers to a sequential system in which input parameters determine the state of operation of the machine. An implementation of a finite state machine is described in U.S. patent Ser. No. 07/693,936, entitled "Method of an Apparatus for Constructing a Control System and Control System Created Thereby", filed Apr. 27, 1991. This application describes a logic table for implementing the finite state machine in which a specific organization of data represents application logic conditions expressed utilizing logical AND and OR operators. FIGS. 1-7 in the present application describe aspects of such a prior art finite state machine implementation. FIG. 4 of the present application illustrates a finite state machine model as contemplated by this prior art.
In the finite state machine model in accordance with the above-referenced prior art, a change of input parameters is required following a change of state transition before a test is made to determine if output actions are required in response to predetermined input parameter conditions. In certain applications it is desirable to be able to process such input conditions although a change in input parameters has not occurred since a change of state. One way of inducing such input parameter testing is to utilize an additional input parameter not related to the sensed input parameters which can be toggled solely to cause a reevaluation of input parameters. Such an input functions as a "kicker" to initiate an evaluation of input actions. The use of such an input kicker is undesirable in that it adds to the number of inputs and must be initiated at an appropriate time relative to the state of the finite state machine in order to be effective. Thus, there exists a need for an improved finite state machine model which overcomes this deficiency.